문서의 임의 삭제는 제재 대상으로, 문서를 삭제하려면 삭제 토론을 진행해야 합니다. 문서 보기문서 삭제토론 코딩 스타일 (문단 편집) === K&R과 BSD 비교 예제 === 같은 코드를 K&R과 BSD로 작성하고 비교해 보자. ||K&R|| ||{{{#!syntax cpp if(a == 1) { for (i = 0;i < 1000;i++) { if (b == 10) { 처리(); } else if(c == 10) { 처리(); } } } }}}|| ||BSD|| ||{{{#!syntax cpp if (a == 1) { for (i = 0;i < 1000;i++) { if (b == 10) { 처리(); } else if(c == 10) { 처리(); } } } }}}|| BSD 쪽이 좀 더 아래로 길어지는 것을 볼 수 있다. 코드를 종이에 뽑을 일이 있으면 이 문제는 좀 더 중요해진다. --그리고 자기가 소스 코드 몇 줄을 작성하였는지 뽐 낼 때는 BSD를 써서 조금 늘려 자랑한다-- 그래서 출판물에서는 ~~종이 비용을 아끼기 위해~~ K&R을 선호하는 경향이 있다. 그리하여 대부분의 프로그래밍 언어 교재가 K&R 스타일로 작성되기 때문에 코딩을 갓 접한 학생들이 K&R 스타일에 자연스럽게 익숙해져 있기도 하다. 물론 개인 취향에 따라 나중에 BSD 스타일을 접하고선 갈아타버리기도 한다. 한편, 무슨 일이 생겨서 저 반복문을 반복문이 아니게 해야 한다고 하자. BSD는 for문이 있는 줄만 통째로 지워도 된다. for문에 붙어 있던 중괄호는 단순 블록이 되어 코드에 영향을 미치지 않는다. 물론 변수 i가 for문의 조건식 안에서 선언되었다면 컴파일 에러가 발생하므로 주의. ||BSD|| ||{{{#!syntax cpp if (a == 1) { //for (i = 0;i < 1000;i++) { if (b == 10) { 처리(); } else if(c == 10) { 처리(); } } } }}}|| 그런데 K&R 스타일에서는 그렇게 하면 여는 괄호만 지워지고 닫는 괄호는 안 지워진다. 그래서 리팩토링이 좀 귀찮아진다. ||K&R|| ||{{{#!syntax cpp if(a == 1) { //for (i = 0;i < 1000;i++) { if (b == 10) { 처리(); } else if(c == 10) { 처리(); } } } }}}|| 사실 이 논란은 C/C++ 쪽에서 주로 일어나는 편이고, Java나 JavaScript, C# 등의 다른 프로그래밍 언어에서는 대부분 한 쪽으로 통일된 추세이다.저장 버튼을 클릭하면 당신이 기여한 내용을 CC-BY-NC-SA 2.0 KR으로 배포하고,기여한 문서에 대한 하이퍼링크나 URL을 이용하여 저작자 표시를 하는 것으로 충분하다는 데 동의하는 것입니다.이 동의는 철회할 수 없습니다.캡챠저장미리보기